package com.css.openapi.feign.dto;


import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * @description:
 * @Title: BankCardLocationQueryResponseDTO
 * @Author xlw
 * @Package com.invoice.tcc.feign.yljy.dto
 * @Date 2025/9/11 16:41
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BankCardLocationQueryResponseDTO extends BaseResponseDTO {

    /**
     * 银行卡号（与请求入参一致，长度20，必填，文档0.0.13序号3）
     */
    private String cardNo;

    /**
     * 卡bin（银行卡前6位，必填，文档0.0.13序号4）
     */
    private String cardBin;

    /**
     * 发卡机构名称（必填，文档0.0.13序号5）
     */
    private String issurName;

    /**
     * 是否银联品牌卡（0=非银联/1=银联，必填，文档0.0.13序号6）
     */
    private String cupLogoFlag;

    /**
     * 卡种（1=借记卡/2=贷记卡/3=准贷记卡/4=预付卡，必填，文档0.0.13序号7）
     */
    private String dcFlag;

    /**
     * 归属地信息（可选，JSON数组，文档0.0.13序号8）
     */
    private List<CityInfoDTO> cityInfo;

    /**
     * 归属地信息子DTO（文档0.0.13序号8.1~8.4）
     */
    @Data
    public static class CityInfoDTO implements Serializable {
        private static final long serialVersionUID = 1L;

        /**
         * 省（必填，文档0.0.13序号8.1）
         */
        private String province;

        /**
         * 市（必填，文档0.0.13序号8.2）
         */
        private String city;

        /**
         * 地区代码（必填，文档0.0.13序号8.3）
         */
        private String areaCode;

        /**
         * 占比（银行卡号段地域消费占比，必填，文档0.0.13序号8.4）
         */
        private String perc;
    }
}